home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / tools < prev    next >
Internet Message Format  |  1995-03-31  |  56KB

  1. From comp.sys.handhelds Wed Jan 30 07:38:26 1991
  2. Path: mentor.cc.purdue.edu!purdue!news.cs.indiana.edu!julius.cs.uiuc.edu!usc!elroy.jpl.nasa.gov!sdd.hp.com!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!dkuug!rcbal!frs
  3. From: frs@rci.dk (Frederich Schroeder)
  4. Newsgroups: comp.sys.handhelds
  5. Subject: Make Library on HP48sx and m-code tools
  6. Summary: m-code tools
  7. Keywords: HP48sx
  8. Message-ID: <1991Jan30.092246.2757@rci.dk>
  9. Date: 30 Jan 91 09:22:46 GMT
  10. Organization: RC International, Copenhagen, Denmark
  11. Lines: 707
  12.  
  13.  
  14. This is a Toolbox for m-code made by our member Frank. You can't reach
  15. him from the unix net directly, but you can write to me or contact our
  16. BBS in Denmark (lot of HP28/48 stuff).
  17.  
  18.     Friedrich Schroeder    (Sysop, PPC - Denmark - BBS
  19.                  FIDO node 2:234/52
  20.                  +45 42 52 66 00; 2400 8N1)
  21.     Internet : frs@rci.dk
  22.  
  23.  
  24.                           TOOLS :System utilites
  25.  
  26.     This  is a breif discription of the programs in TOOLS.DIR.  If you
  27.     want an explanation of how the programs work try hacking it first.
  28.     I might not have the time to explain how they work.  Some of these
  29.     programs kan be made more compact,  faster or even obsolete.  I do
  30.     not have a PC so its not very often that I see what's in the BBS.
  31.  
  32.     1. 'DMEM'      - Display memory.
  33.  
  34.     The  contents of memory is displayed in hexadecimal  format.  This
  35.     program  creates a variable 'Dmem' in the current directory unless
  36.     it already exists upwards in the directory path.
  37.     keys:
  38.     right,left  increment/decrement address by one
  39.     down,up     increment/decrement address by #10h
  40.     +,-         increment/decrement address by #100h
  41.     *,/         increment/decrement address by #1000h
  42.     backspace,
  43.     DEL         increment/decrement address by #10000h
  44.     EEX,NEG     page up/page down
  45.     ------------------------------- o --------------------------------
  46.     NOTE:  The built in monitor,  started by pressing and releasing ON
  47.     and D keys at the same time and thereafter pressing the  backspace
  48.     key, can be an invalueable tool for correcting corrupted ram code.
  49.     Built  in  ram  (#70000h thru #7FFFFh) is  displayed  starting  at
  50.     #F0000h. Here is a discription of what the keys do.
  51.     keys:
  52.     +,-         increment/decrement address by one
  53.     *,/         increment/decrement address by #100h
  54.     up,down     increment/decrement address by #1000h
  55.     0-9,A-F     poke hex character and increment address by one
  56.                 (only ram memory can be changed)
  57.     ENTER       display memory starting at address #100h
  58.     NEG         display memory starting at address #F000Ah
  59.                 (true address #7000Ah)
  60.     EEX         show memory starting at address #80000h
  61.                 (PORT 1)
  62.     DEL         show memory starting at address #C0000h
  63.                 (PORT 2)
  64.     INV         show memory starting at address #F0A94h
  65.                 (true address #70A94h)
  66.     ------------------------------- o -------------------------------
  67.  
  68.     2. 'DECOM48'   - Decompile object
  69.  
  70.     3. 'ASM48'     - Assemble string
  71.  
  72.     These  two programs are almost the same as Wickes' ASCII  Encoding
  73.     and  Decoding programs ( ->ASC & <-ASC  ).  The only deference  is
  74.     that  a CRC checksum  and newline character ,#Ah,  is not used  in
  75.     these programs.  DECOM48 will decompile any object,  including rom
  76.     objects,  in  level one.  ASM48 will assemble a string  containing
  77.     five  or more characters but does not check whether the  resulting
  78.     object makes sence.  Care should be taken when using ASM48 because
  79.     a memory loss can result.  Be sure to BACK up memory before  using
  80.     this program!!!
  81.  
  82.     4. 'DNL'     - Delet newline character from string (CHR 10)
  83.  
  84.     This program will take a string,  which was decompiled with ->ASC,
  85.     and  remove  all  newline  characters so that the  string  can  be
  86.     compiled with ASM48.
  87.  
  88.     5. 'XLIBS'     - Get LIBRARY information
  89.  
  90.     This program will take a library's ID number in level one, real or
  91.     binary,  and find the memory location of the objects that make  up
  92.     the library. Try it - you'll like it.
  93.  
  94.     6. '->LIB'     - Make library
  95.  
  96.     This  program  takes  a directory name in level one  and  makes  a
  97.     library  object  from the contents of that directory.  The  source
  98.     directory  must be a subdirectory of the  current  directory.  The
  99.     source  directory  must  not contain  subdirectories.  The  source
  100.     directory  will be purged and the new library will be stored  with
  101.     the directory's name. The source directory may contain some of the
  102.     following reserved variables.
  103.  
  104.     $ROMID    The  library's  ID  number  - (Real  or  Binary).   This
  105.               variable  must  be  in  the  source  directory.   It  is
  106.               recomended  that only numbers in the range 769 thru 1791
  107.               be  used.  Numbers greater than 1791 can cause a  memory
  108.               loss.
  109.  
  110.     $TITLE    A  string  containing the name of the library.  If  this
  111.               variable is missing then the name of the directory  will
  112.               be used.  A null string, "", can be used to mean that no
  113.               name is to be given.
  114.  
  115.     $MESSAGE  An  Array of String type object which has  user  defined
  116.               ERROR  messages.  For example #6FF01 DOERR displays  the
  117.               first  error  message of Library 1791 (#6FFh).  See  the
  118.               program  'S->ARRAY' and 'AR->STR' for information  about
  119.               creating array of strings.  If this variable is  missing
  120.               then no error messages are created.
  121.               Note:  This is different from what is required from HP's
  122.               MS-DOS  "USERLIB.EXE"  program  for  the  PC.  USERLIB's
  123.               $MESSAGE  is  a list of name variables that contain  the
  124.               error  message  strings.  USERLIB creates  an  Array  of
  125.               String from this list of names.
  126.  
  127.     $HIDDEN   A  list of names that are not to be shown in the library
  128.               menu.  The objects stored under these names are included
  129.               in the library.
  130.  
  131.     $VISIBLE  A  list of names that will be shown in the library menu.
  132.               Note:  $HIDDEN  has priority over $VISIBLE.  That  means
  133.               that  if  both $HIDDEN and $VISIBLE are present  in  the
  134.               directory only $HIDDEN will be used.
  135.  
  136.     $VARS     A  list  of names that are not to be converted  to  XLIB
  137.               names  within  objects in the library.  For  example  if
  138.               there  exist an object stored under 'xxx' but this  same
  139.               name  is  also  used within a program  for  a  different
  140.               object,  then  the name 'xxx' is not changed to  a  XLIB
  141.               name.  The  object stored under 'xxx' is included in the
  142.               library.  If  you do not want an object stored  in  this
  143.               directory  to be included in the library then it  should
  144.               be  purged.  There might not be enough memory to  create
  145.               the library.
  146.               Note:  This  is  not in accordance  with  "USERLIB.EXE".
  147.               USERLIB does not include stored objects into the library
  148.               whose names are in the $VARS list.
  149.  
  150.     $CONFIG   A program executed at 'configuration time'.  For example
  151.               <<  1791  ATTACH >>.  If you do not want $CONFIG  to  be
  152.               shown  in  the  library  menu  then  $CONFIG  should  be
  153.               included in the $HIDDEN list.
  154.  
  155.     Three  other variables are:   $T1,  $T2,  and   $T3.  These  three
  156.     variables are used by  ->LIB for internal purposes.
  157.  
  158.     If you have more than 32k ram memory then you can recall TOOLS.DIR
  159.     and  store  it under another name.  Put the name in level one  and
  160.     press  ->LIB.  About 4 minutes later you'll have Library 1791.
  161.  
  162.     7. 'EXTRACT'   - Extract objects from libraries
  163.  
  164.     8. 'XTRACT'    - Subroutine used by EXTRACT
  165.  
  166.     EXTRACT takes a list that contains either an XLIB name or two real
  167.     numbers.  The two numbers are ordered [ object number,  LIB.ID  ].
  168.     For example [ 10, 1791 ] is identical to [ XLIB 1791 10 ]. EXTRACT
  169.     creates  a  directory  'TMPDIR' where the  extracted  objects  are
  170.     stored.  If  there does not exist a name for the extracted  object
  171.     then a name indicating the ID number and object number is created.
  172.     For  example  'L1791.10'  would replace XLIB 1791  10.  With  this
  173.     program it was possible to recover a directory that was  converted
  174.     to a library with ->LIB before being backed up.
  175.  
  176.     9. 'S->ARRAY'  - string to Array of String object
  177.  
  178.     S->ARRAY takes a list of strings from level one and converts it to
  179.     an Array of String. All objects in the list are first converted to
  180.     strings  before they are attached to the array.  Array of  Strings
  181.     are  used  mainly  for library error messages.  Array  of  Strings
  182.     cannot be edited.
  183.  
  184.     10. 'AR->STR'   - Array of Strintg object to string
  185.  
  186.     AR->STR  takes an Array of Strings from level one and converts  it
  187.     to  a  list  of strings.  This way you can  reedit  the  list  and
  188.     thereafter converted back to an Array of String.
  189.  
  190.     11. 'RVRS'      - Reverse a string
  191.  
  192.     RVRS takes a string from level one and reverses the characters  so
  193.     that  the first character becomes the last character and the  last
  194.     becomes the first.  This is all done in machine code so it is very
  195.     fast.
  196.  
  197.     12. 'CRC'       - Checksum  ( Cyclic Redundancy Check )
  198.  
  199.     CRC  takes  a  string  (created  by using  DECOM48)  and  finds  a
  200.     checksum.  This again is done in machine code.  If this string  is
  201.     compiled  using ASM48 and thereafter pressing BYTES it would  give
  202.     the same checksum.
  203.  
  204.     13. 'F&R'       - Find and Replace
  205.  
  206.     F&R  takes  three strings from the stack.  It takes the string  in
  207.     level 2, finds its occurence in the string in level 3 and replaces
  208.     it with the string from level 1.  It repeats the search until  all
  209.     occurrences  of string from level 2 are replaced by the string  in
  210.     level 1. F&R is a subroutine of  programs  ->LIB and DNL.
  211.  
  212.     14. 'DFL'       - Delete from List
  213.  
  214.     DFL takes 2 lists form the stack.  If any of contents of both list
  215.     are  the  same then it is deleted from the list in level  2.  This
  216.     program is a subroutine of ->LIB.
  217.  
  218.  
  219.     The  rest of the programs were developed by others and I  am  very
  220.     greatful  to  them for making them public.  These programs can  be
  221.     found in the BBS with documentation.
  222.  
  223.     15. 'SYSRCL'    - Recall object to stack
  224.  
  225.     16. 'FIND'      - Find object in memory
  226.  
  227.     17. 'PEEK'      - Return values from memory
  228.  
  229.     18. 'POKE'      - Place values in memory
  230.  
  231.     19. '->PRG'     - Combine objects into a program
  232.  
  233.     20. 'PRG->'     - Separate a program into it components
  234.  
  235.  
  236.     There are no warranties of any kind. Use at your own risk.
  237.  
  238.  
  239.     From:                                    Date: 25 Jan 1991
  240.  
  241.     Frank Ochoa
  242.     Poul La Cours Vej 25, 1th
  243.     8660 Skanderborg
  244.     Denmark
  245.  
  246.  
  247. BEGIN----------------------CUT HERE--------------------------
  248. begin 644 tools.48
  249. M2%!(4#0X+426*N!OCC\````%)%9!4E,%="J`Y`($1&UE;4@N<$`R].1DE'2T
  250. M$@,\`'!`,O3D9)1T=-#9`A$I\&\`;QRR$@,K`'!`@I1$1%3D=$"G`D@N8(!%
  251. M)14T1(7D`@-&)E)(+C!`9,2$Y`(')$-/3D9)1RLQX`4`!B123TU)1`8S*3``
  252. M`````)$74`(`!B14251,108L*A`#`%1/3TQ3(%-Y<W1E;2!5=&EL:71I97-&
  253. M`#!`9,0TT-D"'C823"-M+A"`Y&$CR:+2Y@(!2+C)`1HC;2X0,'6X'VTN$(#4
  254. MY@(!4\,N8GP=M,JA[R*=+7"X'\FBDL(?;2X0@-3F`@%3QM=!JQS)HI+0&ES(
  255. MT;L?A_O1Y@(!2&TN$#!E?!VTRI$L*F>K,9,"`P````````%<R'&V&BLQ4/TB
  256. M3#+B7R,Y-K(2`Q\!,&!D(C70V0(>-A),(VTN$##7Y@(!<AXV,@,CA_O1Y@(!
  257. M<[3*<;@?73#2V0*B^Y$L*@FMD2PJO?O!A1QM+A`@=[8:\Z("S1]M+A`PAYL<
  258. M9ZLQDP('````````!5S(<;8:*S%`:2/8^^%?(SDVLA(#W0!@@$4E%31$9=#9
  259. M`AXV<K@?R:)B?!W#+F*X'#,I$````````!0@EQ[Z+M+9`LFB8GP=2"YP0%0T
  260. M]-1$@\.B`@<`,)+"'W&C,I,"`0``````$`%<R('D`@125E)39ZNQ]QR[EL&B
  261. M`@<`,.+`'S*CPC4J7,B!Y`($4E924V>KL?<<*S%0^R*=+;#W'-C[L6D9*S%0
  262. M_2+)HE(M'$XJ4`$`V0<'``````!(+D``552TY*0"%0#P_P```````#!X'H?[
  263. M,>PB3BI0`0`-`````````)WJH>\BG2VP:QG)HI+0&ERCXMX:,RE0`````&0'
  264. M1G"X'P[\<;8:H#'2Y@("042'^]'F`@)!1)N6@>0"!%!%14M.*E`!`/\/````
  265. M````@^<AEQYM+B`01#0O*F>KL6D92"Y``%54M.2D`A4```!P```````P[")=
  266. M[#%X'OHNTMD";2X@$$0T+RIGJ[%I&4@N0`!55+0T+RIGJS&3`@4````````%
  267. M5#;2Y@("041Y-M+,(,FB0B<<*S%0_2)<HP(X(RLQ4/LBV/M1_2*--]+9`LFB
  268. M`E(<J#?2V0(S*1````````!D4%P<,RD0````````$I`S&BLQ4/TBA_N!Y`($
  269. M4$5%2RG\<;8:':-RMAJ'^X'D`@10145+*?QQMAJ]^S&3`@$``````%`(9ZMQ
  270. MN!](+D``552T=+8:':.BR1\=H^+>&F>KT;L?*?S!SQZ]^W&X'T@N0`!55+24
  271. MT!J]^Y'"'T@N0`!55+3DI`(5`/`/````````,'@>3BI0`0```````````'+I
  272. MD8`>\Z*BR1](+D``552TY*0"%0```````````""7'@GH@7HCG2V`O1\L*I``
  273. M`"=,#ORQ:QEGJ\&B`@<`X'*V&O.BHLD?9ZNQ]QSSH@+-'RLQ4/TB+"KP```X
  274. M-$4R,"G\@>0"!%!%14M.*E`!`/\`````````@^>Q:QG>HN+>&K2BTKL?H#'2
  275. MY@(!4RG\T>8"`5-GJX'D`@10145+3BI0`0#_`````````(/GX:0"%0``$```
  276. M`````'"V&@O+@3`J':/"A1Q(+D`@924U=;8:WJ("."-(+E`0--5$@],Q*M#\
  277. MX<`?\_NQ$@/5+S*3`@$````````!9ZMQN!](+D``552T=+8:':-RMAJ'^X'D
  278. M`@10145+,RD0````````$)#0&AVC4O`:\Z*BR1_#+K)I&;[KH>\BG2TPOQ\S
  279. M*1````````!D4%P<"*.2,QHK,5#](AVC<K8:O?O1,2KNK7&V&H?[@>0"!%!%
  280. M14MGJX'D`@583F%M9?.BHLD?PRY"JQSZ+H*]'[4OTMD"*?Q!92-(+E"`Y136
  281. M5I9G(TL$<K@?2"Y``%54M#3L(DXJ4`$`S"T```````!RZ:'O(D@N8#"5-24U
  282. MQ%3[(ITM@.0"!E-94U)#3$@N<$!4-/341(,33"-M+A#@U.8"`5`>-C(#(VTN
  283. M$`#%H@(/`""34R0#0ZL<73#2V0)M+A``=;@?+"KP```R.44R,+3*(;H?7*-R
  284. MMAJ'^^$M*F>KP84<2"Y`(&4E-<6B`@<`,-*['V>KL?<<NY8Q+RK0_-$Q*F>K
  285. M<;@?WJ)RMAI<R('D`@125E)3+"IP```CO?MQMAI[S[%K&=ZB,G@<2"Y@@$4E
  286. M%31$A>0"!T1%0T]--#C)HI+"'[C)P84<;2X0`,6B`@\`()-3)`-#JQQM+A``
  287. ME2PJ\Z*BR1_)HI+0&ES(X<`?9ZO1Y@(!4`[\,9,"`0``````$`%GJ]'F`@%0
  288. MN,G!A1QGJT%E(VTN$`"59R/-#+(2`Y0VTN8"`4YM+A``A>0"!4%3330X_C6R
  289. M$@/5+Y+"'\T,LA(#U2^28R,K,6"L``-$3DP#G2W`H@('`*#`H@(%`(#D`@-&
  290. M)E(K,7`#``125E)3!)TMT)(5LH_1``2=+8`8`U=F<'1B-E;`W`)6`(`?9`;X
  291. MFV<P%```N"K3=;*PQ$'9Q%#0Q$9?<01[4@1$7W!6//10%1#*P$@,K,3`*
  292. M``-#4D,#G2W0DA6RC]$`!)TM@!@#-E:`&`/Y/T#.`Y,9UMD"1#+`H@(O`%`D
  293. M)?4DI:.0Y&87QI9&!C)%)Y?F=H8$%2LQX*0""@````!79L#Z8,PM@`H`^$%F
  294. MP(R_>0:-01,#81E'01,3<=D0I!,P:SJ1D*X(`[>F]P-##P``_M(W%`@!#?R$
  295. MP&KX'W1O0742$!1AP5VKV$-1$`#/00?^%@+OX"\1`/X.020#*S&P$@->`4``
  296. M];141-#9`KW[D<(?3BI0`0```````````(/GD8`>O?O!W`);`!`C`1,T<11T
  297. M<11#811D,198,8;0$$91%GXQ$)9!$@-1%!$3(T'B)Q!&",BP$@.I`'`PU1@D
  298. M)164==#9`AXV<K@?ALO1,2IRZ3'L(BG\@9L<@^>A[R*=+3"3`@$``````$`&
  299. MQ<7Q6!S!--+F`@%,'C;"H@(9`#`D$R0#$P,#`P/3Y@(!3+C)X:0"%0`````!
  300. M`````'"V&@O+@3`J7*/"A1Q(+D`@924U=;8:R:+2Y@(!3+C)`1HC;2X0,-7F
  301. M`@%,;2X0,&5\'0O+@>0"!T1%0T]--#@RHY+"'[C)P84<9ZO!)".'^X&;'!VC
  302. M<K8:3BI0`0```!```````&>KL;`<"*/"-2I<R('D`@125E)3O?MQMAHL*O``
  303. M`#A%.3(PO?MQMAI(+E`0--5$@^-?(RLQ4/LBG2W@I`(5`"`@````````D#,:
  304. M*S%0_2(Y-K(2`SD"8!`DU3A%)670V0(>-G*X'T@N<$!4-/341(,SDP(!````
  305. M```0`3,I$````````!7`A1PL*O```$,R03(PPRX2=AXI_&&X'`BC(I<>@^>A
  306. M[R*=+3"3`@$``````$`&Q<7Q6!Q(+G!`5#3TU$2#,Y,"`0``````8`(I_(&;
  307. M'%S($4PC;2X0,.5A(W0JL!(#,S#2Y@(!4[C)T04CG2W`H@(/`#`D$R0#T^8"
  308. M`5/)HL*B`@<`,-+F`@%3R:+2,2I<R('D`@125E)39ZNQ]QR[EM'F`@%3*?R1
  309. M+"IGJ]'F`@%3N,G!A1Q4-M+F`@%3>3;2S"!<R'&V&D@N4!`TU42#<[8:*S%`
  310. M:2/^-;(2`[4OTMD"3BI0`0`"`@```````#FCL1(#U2^28R,K,>`D``=%6%12
  311. M04-4!YTMX&$CC\4QDP(!`````````L7%064C2"Y@0-4$190DE6<CA_LQ["(H
  312. MSC&3`@$``````%`!G>JA[R*=+7"X'P6AX3L:="JP$@-4-H+D`@583F%M97DV
  313. MTLP@*S%0^R*^HU'](D@N8(!%)14T1#63`@$``````$`&Q<6Q%1HY-K(2`Q0!
  314. M0-#(E"1$T-D"'C8RDP(!``````!`!L7%02LJM*)"*RJTHD*G`D@N8$`B]=24
  315. M1(3D`@8D5$E43$5(+H!`TE0T-15T5(3D`@4D5D%24T@N@$!BE325),14A.0"
  316. M!R1(241$14Y(+C!`0A6#Y`(#)%0R2"XP0$(ULQ(#P332Y@(!4VTN$"#5Y@(!
  317. M36TN(&`5T^8"`E8R'C9"&1HI_$&K'(_HD<(?*,XQ["(S*1`````````5T*D>
  318. M">BA[R*=+>"D`A4`("````````"0,QHK,5#](H_%<;@?OJ-!&1I4-H+D`@8D
  319. M4D]-241Y-C+L(K3*H>\BG2V`Y`(&)%)/34E$3BI0`0``$````````&>KL;`<
  320. M"*,B,RI<R('D`@125E)35#;2Y@(!4GDVTLP@*S%0^R*=+<"B`C,`4"0E]22E
  321. MHW!"(O74E$1T`M*4-C>7YG:6,QHK,5#](I2A,>PB5#:"Y`(&)%1)5$Q%>39"
  322. MJQSZ+H*]'[4OTMD""\OA+2HI_(&;',FBDM`:7,A!92-(+F!`0I5$Q5249R/-
  323. M#+(2`]4O0AD:C3?2V0)4-H+D`@<D2$E$1$5.>39"JQRH-]+9`I2AT>8"`E8R
  324. M2"YP0(*41$14Y'2V&BLQ4/TBE*%!92-(+H!`8I4TE23$5)1G([3*@7HCG2V`
  325. MY`(()%9)4TE"3$5M+B!@);,2`]4O0AD:;2X@8"6S$@/5+X+D`@-$1DR'^T%E
  326. M(VTN(&`5DV<CS0PR["*XR:'O(ITMT.8"`E8QV0^2+"HS*1`````````6,!`C
  327. M+"I0``!,,C*3`@$``````&`!@\>1+"IM+B!@%8.;'*`QTN8"`5AM+B!@%=/F
  328. M`@%8QM>!Y`('1$5#3TTT.$XJ4`$`_P\```````!M+A"`=;8:"\N!,"HRH\*%
  329. M'$@N0"!E)35UMAHRHS*3`@$````````%7,C!H@('`#"2PA_)HN(M*ES(@>0"
  330. M!%)64E-GJ['W'+N6,>PB,RD0````````%I#"'[[KD<(?C^B1@![Z+M+9`NO\
  331. MP:("$P!0)"7U)*4#TN8"`E8Q;2X0@&5\'6>KP:(",P"@$`/2`A)C`S*&%B87
  332. M-D97)C<'\N;&EG>V&CFCL1(#U2\R+RJ:_)'"'\;7X<`?9ZN1+"J#QZ&.'$PR
  333. M0F4C2"XP0$(EDV<CS0S"H@(%`'"X'U0V@N0"`R14,7DVTLP@R:(RDP(!````
  334. M``!@`:`QTN8"`5A(+C!`0B73Y@(!6,;7,>PBN,FA[R*=+>"D`A4`4`4``0``
  335. M``#0Y@(!6,FBDM`:':/BWAH)K9'"'[C)<;8:"\N!,"I<H\*%'$@N0"!E)35%
  336. M92-(+C!`0A639R.]^[%$($@N,$!")=/F`@%8QM=QMAHK,5#[(ITM0&4C2"XP
  337. M0$(5DV<C+"KP```P,#`P,$L$LA(#U2_")"-4-H+D`@,D5#%Y-I+"'[C)X:0"
  338. M%0!0```!`````'"V&@O+@3`J7*/"A1Q(+D`@924UM40@R:+2Y@("5C&XR0$:
  339. M(VTN$(!UN!]M+B!@%=/F`@%8QM>!Y`('1$5#3TTT.#*C,I,"`0````````5<
  340. MR$&K'"G\@9L<O?N1T!I.*E`!``$`$```````9ZNQL!P(H\(U*ES(@>0"!%)6
  341. M4E-GJ\$D(T@N,$!"%=.['V>KP:("#P!01!,D`Y/"'[C)X:0"%0!0```!````
  342. M`'"V&@O+@3`J7*/"A1Q(+D`@924U=;8:O?MQMAI4-H+D`@,D5#)Y-M+,("PJ
  343. M\```-#$P,#`K,5#[(ITMP*("!0!`92-(+C!`0B639R/-#,*B`@\```,#`P.S
  344. M$@/5+T(9&E0V@N0"""1-15-304=%>38R["*TRJ'O(ITM@.0"""1-15-304=%
  345. M2"YP0%0T]-1$@X.;'%0VTN8"`4UY-M+,($@N,$!")8.;'$XJ4`$`#P`0````
  346. M``!GJ[&P'`BCPC4J7,B!Y`($4E924RLQ4/LB+"KP```P,#`P,-4O<K8:5#:"
  347. MY`(#)%0Q>3;2S"`L*E```%0V@N0"`R14,WDVTLP@E*'1Y@("5C)(+C!`9,1T
  348. MN!]4-M+F`@)6,GDVTLP@N,DQ[")4-M+F`@%3>3;2S"!M+A`PI>\BG2U`&1I4
  349. M-H+D`@4D5D%24WDV,NPBM,KQB![Z+M+9`G0JL!(#5#:"Y`(%)%9!4E-Y-M+,
  350. M("LQ4/TB5#:"Y`(#)%0Q>3:"Y`(#)%0RN,G1Y@(!36>KX:0"%0"@```!````
  351. M`'"V&@O+@3`J7*/"A1Q(+D`@924UM40@+"I0``#)HM+F`@%3H#'2Y@(!6&TN
  352. M(&`5T^8"`E8R;2X0@&5\'<,N0JL<^B[2V0(L*E`%`$4Q-C,R0D5&,C)"148R
  353. M,D0V13(P13$V,S(Q0S0S,C%#-#,R1#9%,C!M+B!@)=/F`@%8QM<!M"!(+G!`
  354. M5#3TU$2#(S,J,RD0````````%<"%',,N0JL<^B["H@(+```#`U/[(BPJ<```
  355. M.-4O<K8:;2X0('6V&FTN$(#EI`(5`/#_````````<+8:"\N!,"HRH\*%'$@N
  356. M0"!E)35UMAHK,5#](FTN$##5Y@(!6,FBDM`:":W1,2KNK9'"'[C)<;8:3BI0
  357. M`0```!```````&>KL;`<"*/"-2I<R('D`@125E)35#:"Y`(#)%0S>3;2NQ]+
  358. M!-+F`@)6,FTN$(!E?!W#+D)E(T@N<$`R].1DE'249R-AYZ'O(ITM@.0"`R14
  359. M,KC)T>8"`4UGJ]'F`@%3':/BWAIGJY'"'[C)<;8:3BI0`0`/`!```````&>K
  360. ML;`<"*/"-2I<R('D`@125E)35#:"Y`(#)%0Q>3;2NQ]+!+(2`]4OTN8"`E8R
  361. M;2X0@&5\'8?[`;0@O?OA[R!(+G!`5#3TU$2#DRPJ;2X0,`4:(VTN$("'Y`(%
  362. M)%9!4E-M+B!@)=/F`@%XQM<Q["*TRO&('OHNTMD";2X@8"73Y@(!>,;7@>0"
  363. M!T1%0T]--#@L*O```#(Y13(P;2X0('6V&FTN$(#GI`(5`/#_````````<+8:
  364. M"\N!,"HRH\*%'$@N0"!E)35UMAI(+C!@9"*U$@/5+\(D(V>KP20C2"XP0$(U
  365. M@YL<3BI0`0`%`!```````&>KL;`<"*/"-2I<R('D`@125E)32"XP0$(U0V4C
  366. M2"XP0$(UDV<C_@YRMAJ]^W&V&BPJ\```131!,C"]^W&V&E0V@N0"`R14,WDV
  367. MTLP@;2X@8"4S[")4-H+D`@<D0T].1DE'>39"JQR/Z*'O(ITM0&4C2"XP0$(5
  368. MDV<C+"KP```P,#`P,$L$LA(#U2^R$@.U+]+9`E0V@N0"`R14,7DVPJ("&0``
  369. M`P,#`P,#`P,#LT0@*S%0_2)(+F!`0I5$Q50T["*XR:'O(ITM@.0"!B14251,
  370. M18?[@9L<3BI0`0```0```````&>KL;`<"*/2,2I<R('D`@125E)3O?N!Y`('
  371. M1$5#3TTT.#,I$````````!$PDP("``````!@`ES(D<(?9ZMQMAHK,5#[(BPJ
  372. MD```,##5+]+F`@%29ZN!Y`(#)%0Q2"XP0$(E,^PB;2X0T*3O(ITM@.0"""1-
  373. M15-304=%2"YP0%0T]-1$@[,2`[4OPJ("!0!0_2+^-8+D`@,D5#/\$'*V&F>K
  374. M<;8:9ZMQN!^XR>&D`A4`D````0````!PMAH+RX$P*ERCPH4<2"Y`(&4E-=6[
  375. M'V>K<;@?2"XP,"0UY*0"%0```!```````'"V&@O+@3`J1Z/"A1Q(+D`@924U
  376. M=;8:+"KP```P-$(R,+W[<;8:2"Y0$#351(-3$AJ'^X&;',;7L14:A_NA(R'-
  377. M#))C(RLQ(&,!!5A,24)3!9TMX&$CFY8QDP(!`````````L7%D2PJU<+AI`(5
  378. M`)!]<```````@.0"!%!%14M.*E`!`/\/````````@^=QN!_#+N*D`A4`T```
  379. M``````#0J1[Z+M+9`KN6D2PJ":W!-2KNK3&3`@4```!`=F`$A_OAP!]GJP$:
  380. M(VTN(!!$=+@?;2X@$$2T:1E(+D``552TY*0"%0#P_P```````#!X'G+IT>8"
  381. M`D%$\Z)RMAJ;EH'D`@10145+3BI0`0#__P\``````(/GX:0"%0```'``````
  382. M`##L(EWL,7@>^B[2V0+8^S&3`@$````````"Q<7Q6!QM+B`01#0O*F>KL6D9
  383. M2"Y``%54M#23`@4````````%5#;2Y@("041Y-M+,(,FB0B<<*S%0_2)<HP(X
  384. M(RLQ4/LBV/M1_2+#+I(L*B#%H>\BG2TPDP(!``````!`!L7%,9,"`0``````
  385. M(`$YH[$2`]4O<K@?WJ*2T!J'^X'D`@10145+3BI0`0#_`````````(/G,>PB
  386. M3BI0`0```````````)WJH>\BG2UPN!](+D``552TY*0"%0#P#P```````#!X
  387. M'MZBXMX:WJ)RMAH)K;$2`]4O,I,"`0````````$)K7&X'T@N8#"5-24UQ+2P
  388. M'"PJ<```"F>K<;@?+"IP```ZM,HANA_)HM*['US(P:("!P"@<+8:\Z("S1_S
  389. MHG*V&C,I(````````!#`A1QGJ\&B`@<`H-"['V>K<;8:*?PQ+RIGJW&X'T@N
  390. M0`!55+0T["*'^^&D`A4```````````#0J1[Z+M+9`F>KP:("(0"@@,64)`3B
  391. M%-96-@<"`M*['V>K<;8:+"IP```*9ZNQ$@.U+S*_']4ODL(?7*-RMAJ'^X'D
  392. M`@10145+PRYRN!].*E`!````````````G>JA[R*=+7"V&BPJ$`(`"B1-15-3
  393. M04=%("`@(""]^W&V&F>KP:("!P"@<+8:*S%0^R+S^U'](BG\,9,"`0``````
  394. M@`%GJW&X'T@N0`!55+0T["*'^^&D`A4```````````#0J1[Z+M+9`F>KP:("
  395. M(0"@0#+TY&24=`0"`@("`M*['V>K<;8:+"IP```*9ZNQ$@.U+S*_']4ODL(?
  396. M,RD0````````$W"V&H?[@>0"!%!%14O#+G*X'TXJ4`$```````````"=ZJ'O
  397. M(ITM<+8:+"H0`@`*6$Q)0B!0;VEN=&5R(+W[<;8:9ZO!H@('`*!PMAJ]^S&3
  398. M`@$``````#`!9ZMQN!](+D``552T=+8:A_LQDP(!`````````6>KL6L9#OQ!
  399. MIP(K,9`L*C,I$````````"@P$",L*E```&>KP20C="K`H@(?`*`@51;&!N)6
  400. MUR96)J?`H@(E`*`P]-8&QU:&!^)6UR96)J?`H@(I`*`PA!8F%S9&5R8',D4G
  401. ME^9VIL"B`A\`H"!5%L8&$B0G%R:7I\"B`B,`H##TU@;'5H8'$B8G%Y:GP*("
  402. M$0"@P)0V1Z?`H@(?`*!PQ/8F%L8&XA;65J;`H@(=`*#`]#86Q@;B%M96IL"B
  403. M`A<`H``E]W8F%]:FP*("&P"@$,1V5B8F%Y8VIL"B`B4`H""4YA8FEP>2YD97
  404. M=E8FI\"B`A<`H'`D%P:'EC:FP*("%0"@0!5V=E9&IL"B`A$`H%#EED:GP*("
  405. M&P"@@,64)`3B%M96IL"B`AL`H$"4)E<V1O<FEZ?`H@(7`*#`E"8F%R:7I\"B
  406. M`A4`H"`4-K96!Z?`H@(9`*!@5.<V1I?VYJ;`H@(7`*`P]-;6%N9&IL"B`B$`
  407. MH#"%]B9'!R*6YA8FEZ?`H@(;`*#`].9V!B)7%L:FP*("(0"@P/3F=@8R]M8&
  408. MQU:&I\"B`B,`H,"4YK961@82)B<7)I>GP*("&P"@,(06)A<V1E<FI\"B`AT`
  409. MH-`4-H;F`C+T1E:FP*("(0"@P)0F)A<FEP="%D87IL"B`AD`H%"$1U<FYQ;&
  410. MIK`2`\$TTN8"`5-M+A"`U.8"`DPQ;2X@P"3C82-M+A`PE<(?':-RMAI(+D``
  411. M552TY,`?9ZNQ:QF@,=+F`@%8+"K0```M+2TMR:+2Y@(!6&TN$#"5T!H=HU+P
  412. M&@O+H8X<;2X0@+5I&8?[@>0"!%!%14MGJ]&['RG\L;`<\Z)R-"I<R'&V&FTN
  413. M(,`4X\`?2"Y@,)4U)37$9+@<R:)RMAHS*1`````````H,,X;HOMA?!T(HU++
  414. M'V>K<;@?N,F1+"IGJS'L(C,I$````````"+0Y!OZ+L*B`@L```("4OLB+"IP
  415. M```*U2]RMAK)HC)X'.K(064C;2X@P!239R/-#-(Q*H`STN8"`4C)HC*3`@$`
  416. M`````(`"H#'2Y@(!6&TN(,`DT^8"`5C&U]'F`@),,6TN$(!E?!V'^S'L(KC)
  417. MH>\BG2UPN!^XR3'L(C,I$````````"+0Y!OZ+M+9`BPJ<```"F>KL1(#U2]R
  418. MMAIGJ[$2`[4O,K\?U2_")"/^-;(2`[4OTMD"\_O1NQ_8^[$2`]4O,I,"`0``
  419. M````0`;%Q9%C(RLQL.P`!%!21XT$G2T@JQBRC_$#!*]4\-L8*S'P`@`$C5!2
  420. M1P2=+?#;,440%*S%0`@`$1DE.1`2=+9`L*F>KX5\<,RD0````````(%!<
  421. M'+W[X:0"%0```````````)"`'KW[45P<S"T0"0`Q$@+Z'!)Q%'0Q%*91=OH5
  422. M"%%&P10T,1"601(#47((_1E0$@;[M&05C\`/3>`9L+U/85#O01,C81D$`B&A
  423. MSR$0(T$21@C(*S$P$``$4$5%2P2=+;!K&9N6P=P",``0=#$'%I=!%W-1^S$7
  424. ME0\7<T$21@C(*S%0!0`&4UE34D-,!ITM,``$ME9`)`,K,9`"``5!4TTT.`6=
  425. M+="2%;*/T0`$G2V`&`,V5H`8`R%`0,X#DQG6V0)$,L"B`B\`4"0E]22EHY#D
  426. M9A?&ED8&,D4GE^9VA@05*S'P707",L#!82,RP-P"9`"`'V0&S/B;9]`8-#$0
  427. M1T$3$W&I+D&/@!(P:X*`$@GIOH"``K<F40QA$!?<Y8P]%`6;#[82`RLQD!$`
  428. M!T1%0T]--#@'G2W0DA6(,2"0!=]5("P#;S[`P6$C,L#<`F4`@!]D!LSXFV?0
  429. M�Q$)9Q%#0QH2Y1#P@H`:,F""B1D^X,""AQH"9!'!9QP%W-V$-1L/E@*S$P
  430. M"P`$1$U%302=+4"G`K2B,I,"`0``````8`,S*1`````````T,),"`0``````
  431. M4`,S*1`````````E,),"`0``````4`DS*1````````"%,),"`0``````4`<S
  432. M*1````````!E,),"`0``````4`4S*1````````!4,),"`0``````,`4S*1``
  433. M``````!2L!(#="H0D0(``!"1`@$`$)$"__\?D0(0`!"1`O#_'Y$"``$0D0(`
  434. M_Q^1`@`0$)$"`/`?D0(``!&1`@``'Y$"<``0D0*0_[\2`\$TTN8"`4QM+A`@
  435. M]5T%$2D@%``<'(;D`@1$;65MD,LQDP(!`````````9<[H!('G2U`)`-.*J``
  436. M```!<.D&2"Y`0-16UG;2!T@N0$#45M:V$@/#,#(,(\PM(`X`^)MG$#08^)`!
  437. M$`-!$A!Q%#0Q$9=#!@#0-40``'T1$`-Q=V<0'/QE'[<3.D$=%T,/`-`72$$2
  438. M`\<#<<%?]A,*01T7$1`#08*!#Q\$W(49`3$0$4&`/10%ZA+E@(`2,&J"@!(Y
  439. MZ<Z`@!(':A+480`A+`/)HK(*%.TP,H<:N3;2Y@(!3",R0*L<R:(2QQMM+A`@
  440. H-2(#QM?!W`(K`(`?9`;XFV<0=#$7ET''$E380U'0#B.THI)K(RLQ`!MM
  441. `
  442. end
  443. END------------------------CUT HERE--------------------------
  444.  
  445.  
  446. And for those with ASC-> :
  447.  
  448. BEGIN------------------------CUT HERE--------------------------
  449. "69A20EF6E8F30000005042651425355047A2084E204044D656D684E20704234F
  450. 4E4649474B2130C3000704234F4E464947470D9D2011920FF600F6C12B2130B2
  451. 00070428494444454E47047A2084E206085452514344584E203064622584E203
  452. 04464C484E20704234F4E4649474B2130E5000604225F4D49444603392030000
  453. 00000019710520006042459445C45460C2A201300045F4F4C435023597374756
  454. D602554796C6964796563764000304464C430D9D20E16321C432D6E201084E16
  455. 329C2A2D6E2010848B9C10A132D6E20103578BF1D6E201084D6E2010353CE226
  456. C7D14BAC1AFE22D9D2078BF19C2A292CF1D6E201084D6E2010356C7D14BAC19C
  457. 2A290DA1C58C1DBBF178BF1D6E201084D6E2010356C7D14BAC19C2A276BA1339
  458. 203000000000000010C58C176BA1B21305DF22C4232EF53293632B2130F11003
  459. 064622530D9D20E16321C432D6E201037D6E201027E16323303278BF1D6E2010
  460. 374BAC178BF1D5032D9D202ABF19C2A290DA19C2A2DBBF1C58C1D6E20102776B
  461. A13F2A20DCF1D6E2010378B9C176BA1339207000000000000050C58C176BA1B2
  462. 130496328DBF1EF53293632B2130DD0006085452514344560D9D20E163278BF1
  463. 9C2A26C7D13CE2268BC1339201000000000000410279E1AFE22D9D209C2A26C7
  464. D184E2070445434F4D44383C2A20700003292CF1173A23392010000000000001
  465. 10C58C184E20402565253576BA1B7FC1BB691C2A207000032E0CF1233A2C53A2
  466. C58C184E20402565253576BA1B7FC1B21305BF22D9D20B7FC18DBF1B9691B213
  467. 05DF229C2A25D2C1E4A20510009D7070000000000084E2040055454B4E4A2051
  468. 000FFF0000000000000387E178BF13CE22E4A2051000D000000000000000D9AE
  469. 1AFE22D9D20BB6919C2A290DA1C53A2EEDA133920500000000467064078BF1E0
  470. CF176BA10A132D6E2020144478BF1D6E20201444B969184E2040055454B4E4A2
  471. 051000FFF0000000000000387E1279E1D6E202014443F2A276BA1B969184E204
  472. 0055454B4E4A205100000007000000000003CE22D5CE1387E1AFE22D9D20D6E2
  473. 02014443F2A276BA1B969184E2040055454B43F2A276BA133920500000000000
  474. 005045632D6E2020144497632DCC029C2A2472C1B21305DF22C53A208332B213
  475. 05BF228DBF15DF22D8732D9D209C2A2025C18A732D9D20339201000000000000
  476. 4605C5C1339201000000000000210933A1B21305DF2278BF184E2040055454B4
  477. 92CF176BA1D13A276BA178BF184E2040055454B492CF176BA1DBBF1339201000
  478. 00000000058076BA178BF184E2040055454B476BA1D13A2A9CF1D13A2EEDA176
  479. BA1DBBF192CF1CFCE1DBBF178BF184E2040055454B490DA1DBBF192CF184E204
  480. 0055454B4E4A2051000FF00000000000000387E1E4A205100000000000000000
  481. 00279E1908E13F2A2A9CF184E2040055454B4E4A205100000000000000000002
  482. 79E1908E18A732D9D208DBF1C2A209000072C4E0CF1BB69176BA1C2A2070000E
  483. 276BA13F2A2A9CF176BA1B7FC13F2A20DCF1B21305DF22C2A20F000083435423
  484. 0392CF184E2040055454B4E4A2051000FF00000000000000387E1BB691ED2A2E
  485. EDA14B2A2DBBF10A132D6E20103592CF1D6E20103576BA184E2040055454B4E4
  486. A2051000FF00000000000000387E1E4A2051000001000000000000076BA1B0BC
  487. 1803A2D13A2C58C184E20402565253576BA1ED2A20833284E20501435D44383D
  488. 13A20DCF1E0CF13FBF1B21305DF2233920100000000000001076BA178BF184E2
  489. 040055454B476BA1D13A276BA178BF184E2040055454B4339201000000000000
  490. 01090DA1D13A250FA13F2A2A9CF13CE22B9691EBBE1AFE22D9D203FBF1339201
  491. 0000000000004605C5C1803A2933A1B21305DF22D13A276BA1DBBF1D13A2EEDA
  492. 176BA178BF184E2040055454B476BA184E205085E416D6563F2A2A9CF13CE224
  493. BAC1AFE228DBF15BF22D9D2092CF14563284E205085E416D65697632B440278B
  494. F184E2040055454B43CE22E4A2051000CCD2000000000000279E1AFE2284E206
  495. 03595352534C45BF22D9D2084E20603595352534C484E2070445434F4D443831
  496. C432D6E2010E4D6E201005E163233032D6E201005C2A20F000023935423034BA
  497. C1D5032D9D20D6E20100578BF1C2A20F000023935423034BAC12ABF1C53A276B
  498. A178BF1ED2A276BA1C58C184E204025652535C2A207000032DBBF176BA1B7FC1
  499. BB6913F2A20DCF1D13A276BA178BF1ED2A276BA1C58C184E204025652535C2A2
  500. 07000032DBBF176BA1B7FC1BB691ED2A2387C184E206085452514344584E2070
  501. 445434F4D443839C2A292CF18B9C1C58C1D6E201005C2A20F000023935423034
  502. BAC1D6E2010059C2A23F2A2A9CF19C2A290DA1C58C1E0CF176BA1D6E201005E0
  503. CF133920100000000000011076BA1D6E2010058B9C1C58C176BA145632D6E201
  504. 00597632DCC02B213049632D6E2010E4D6E20100584E20501435D44383EF532B
  505. 21305DF2292CF1DCC02B21305DF2293632B21306CA003044E4C430D9D20C2A20
  506. 70000A0C2A205000084E2030646225B213073000402565253540D9D20D29512B
  507. F81D0040D9D2088130756607472663650CCD20650008F146608FB97603410000
  508. 8BA23D8143D9C6CA130167174143131179CD14E14D181171CD51F8D341504423
  509. 0B2130B21303A0003034253430D9D20D29512BF81D0040D9D208813063650881
  510. 309FF304EC3039916D9D2044230C2A20F2000542525F425A3A094E66716C6964
  511. 60235472796E67684051B2130E4A20A00000000075660CAF06CCD208A0008F14
  512. 660CC8FB9760D8143130169174143131179D014A3103B6A31909EA80307B6A7F
  513. 3034F00000EF2D73418010D0CF480CA68FF147F61457210141161CD5BA8D3415
  514. 0100FC1470EF6120FE0EF21100EFE0144230B2130B2130E51004005F4B45440D
  515. 9D20DBBF192CF1E4A20510000000000000000000387E1908E1DBBF1CCD20B500
  516. 013210314317414717413416414613618513680D01641561E713016914213015
  517. 41113132142E720164808C0B21309A0007035D8142525149570D9D20E163278B
  518. F168BC1D13A2279E13CE2292CF18B9C1387E1AFE22D9D2033920100000000000
  519. 04605C5C1F85C11C432D6E2010C4E1632C2A209100034231423031303030303D
  520. 6E2010C48B9C1E4A2051000000001000000000076BA1B0BC1803A2C53A2C58C1
  521. 84E20402565253576BA19C2A2D6E2010C48B9C10A132D6E201035D6E2010C4D6
  522. E2010356C7D1B0BC184E2070445434F4D44383233A292CF18B9C1C58C176BA1C
  523. 423278BF18B9C1D13A276BA1E4A2051000000001000000000076BA1B0BC1803A
  524. 2C53A2C58C184E204025652535DBBF176BA1C2A20F00008354932303DBBF176B
  525. A184E20501435D44383EF532B21305BF22D9D20E4A2051000202000000000000
  526. 0933A1B21305DF2293632B213093200601425D835452560D9D20E163278BF184
  527. E2070445434F4D44383339201000000000000110339201000000000000510C58
  528. C1C2A20F000034231423033CE22167E192CF168BC1803A2279E1387E1AFE22D9
  529. D203392010000000000004605C5C1F85C184E2070445434F4D44383339201000
  530. 00000000062092CF18B9C1C58C11C432D6E201035E163247A20B213033032D6E
  531. 2010358B9C1D5032D9D20C2A20F00003423142303D6E2010359C2A2C2A207000
  532. 032D6E2010359C2A2D13A2C58C184E20402565253576BA1B7FC1BB691D6E2010
  533. 3592CF19C2A276BA1D6E2010358B9C1C58C145632D6E20103597632DCC02C58C
  534. 176BA184E20501435D4438376BA1B213049632EF532B21305BF22D9D20E4A205
  535. 10002020000000000000933A1B21305DF2293632B2130E420070548545251434
  536. 4570D9D20E1632F85C13392010000000000000205C5C14563284E206045D4054
  537. 494259763278BF13CE2282EC1339201000000000000510D9AE1AFE22D9D2078B
  538. F1501A1EB3A147A20B21304563284E205085E416D65697632DCC02B21305BF22
  539. EB3A15DF2284E20608545251434453392010000000000004605C5C1B51A19363
  540. 2B21304110040D8C4942440D9D20E16323392010000000000004605C5C14B2A2
  541. 4B2A24B2A24B2A247A2084E20604225F4D4944484E206042459445C45484E208
  542. 042D454353514745484E2050426514253584E2080426594359424C45484E2070
  543. 428494444454E484E203042451384E203042452384E2030424533B21301C432D
  544. 6E201035D6E201025D6E2010D4D6E20206513D6E20206523E1632491A192CF14
  545. BAC1F88E192CF182EC13CE22339201000000000000510D9AE1908E1AFE22D9D2
  546. 0E4A20510002020000000000000933A1B21305DF22F85C178BF1EB3A1491A145
  547. 63284E20604225F4D49444976323CE224BAC1AFE22D9D2084E20604225F4D494
  548. 44E4A2051000000100000000000076BA1B0BC1803A2233A2C58C184E20402565
  549. 253545632D6E20102597632DCC02B21305BF22D9D20C2A2033000542525F425A
  550. 3A0724225F4D494447202D496373796E676933A1B21305DF22491A13CE224563
  551. 284E206042459445C454976324BAC1AFE228DBF15BF22D9D20B0BC1ED2A292CF
  552. 18B9C19C2A290DA1C58C14563284E206042459445C45497632DCC02B21305DF2
  553. 2491A1D8732D9D204563284E2070428494444454E4976324BAC18A732D9D2049
  554. 1A1D6E2020652384E2070428494444454E476BA1B21305DF22491A14563284E2
  555. 080426594359424C454976324BAC18A732D9D2084E2080426594359424C454D6
  556. E20206523B21305DF22491A1D6E20206523B21305DF2284E20304464C478BF14
  557. 5632D6E2020651397632DCC023CE228B9C1AFE22D9D20D6E202065139DF029C2
  558. A233920100000000000061030132C2A2050000C4232339201000000000000610
  559. 387C19C2A2D6E202065138B9C10A132D6E201085D6E20206513D6E2010856C7D
  560. 184E2070445434F4D44383E4A2051000FFF0000000000000D6E20108576BA1B0
  561. BC1803A2233A2C58C184E20402565253576BA1233A2339201000000000000050
  562. C58C1C2A20700003292CF19C2A2ED2A2C58C184E20402565253576BA1B7FC1BB
  563. 6913CE2233920100000000000061092CF1EBBE192CF1F88E1908E1AFE22D9D20
  564. BECF1C2A2031000542525F425A302D6E20206513D6E2010856C7D176BA1C2A20
  565. 33000A01302D2021363023686162716364756273702F6E6C69776BA1933A1B21
  566. 305DF223F2A2A9CF192CF16C7D1E0CF176BA19C2A2387C1AE8C1C42324563284
  567. E203042452397632DCC02C2A205000078BF14563284E203042451397632DCC02
  568. 9C2A23392010000000000006100A132D6E20108584E2030424523D6E2010856C
  569. 7D13CE228B9C1AFE22D9D20E4A20510005500010000000000D6E2010859C2A29
  570. 0DA1D13A2EEDA190DA192CF18B9C176BA1B0BC1803A2C53A2C58C184E2040256
  571. 525354563284E203042451397632DBBF1B440284E2030424523D6E2010856C7D
  572. 176BA1B21305BF22D9D204563284E203042451397632C2A20F00000303030303
  573. B4402B21305DF22C42324563284E20304245139763292CF18B9C1E4A20510005
  574. 00001000000000076BA1B0BC1803A2C53A2C58C184E204025652535B44029C2A
  575. 2D6E202065138B9C10A132D6E20108578BF1D6E20206513D6E2010856C7D184E
  576. 2070445434F4D44383233A2339201000000000000050C58C14BAC192CF18B9C1
  577. DBBF190DA1E4A2051000100001000000000076BA1B0BC1803A2C53A2C58C184E
  578. 20402565253576BA1C423284E2030424513DBBF176BA1C2A20F0000544314230
  579. 392CF18B9C1E4A2051000500001000000000076BA1B0BC1803A2C53A2C58C184
  580. E20402565253576BA1DBBF176BA14563284E203042452397632DCC02C2A20F00
  581. 004313030303B21305BF22D9D20C2A20500004563284E203042452397632DCC0
  582. 2C2A20F00000303030303B21305DF22491A14563284E208042D4543535147454
  583. 976323CE224BAC1AFE22D9D2084E208042D454353514745484E2070445434F4D
  584. 443838B9C145632D6E2010D497632DCC0284E20304245238B9C1E4A2051000F0
  585. 0001000000000076BA1B0BC1803A2C53A2C58C184E204025652535B21305BF22
  586. C2A20F000003030303035DF2276BA14563284E203042451397632DCC02C2A205
  587. 00004563284E203042453397632DCC02491A1D6E2020652384E20304464C478B
  588. F145632D6E2020652397632DCC028B9C13CE2245632D6E20103597632DCC02D6
  589. E201035AFE22D9D20491A14563284E20504265142535976323CE224BAC1F88E1
  590. AFE22D9D2047A20B21304563284E2050426514253597632DCC02B21305DF2245
  591. 63284E20304245139763284E20304245238B9C1D6E2010D476BA1E4A2051000A
  592. 00001000000000076BA1B0BC1803A2C53A2C58C184E204025652535B4402C2A2
  593. 0500009C2A2D6E2010350A132D6E201085D6E20206513D6E20206523D6E20108
  594. 56C7D13CE224BAC1AFE22D9D20C2A20550005413633323245464232324546423
  595. 2344635423035413633323133443332313344333234463542303D6E20206523D
  596. 6E2010856C7D104B0284E2070445434F4D44383233A233920100000000000051
  597. 0C58C13CE224BAC1AFE22C2A20B00000303035BF22C2A2070000835DF2276BA1
  598. D6E20102576BA1D6E201085E4A2051000FFF000000000000076BA1B0BC1803A2
  599. 233A2C58C184E20402565253576BA1B21305DF22D6E201035D6E2010859C2A29
  600. 0DA190DA1D13A2EEDA192CF18B9C176BA1E4A2051000000001000000000076BA
  601. 1B0BC1803A2C53A2C58C184E2040256525354563284E203042453397632DBBF1
  602. B4402D6E20206523D6E2010856C7D13CE224563284E20704234F4E4649474976
  603. 32167E1AFE22D9D2084E20304245238B9C1D6E2010D476BA1D6E201035D13A2E
  604. EDA176BA192CF18B9C176BA1E4A2051000F00001000000000076BA1B0BC1803A
  605. 2C53A2C58C184E2040256525354563284E203042451397632DBBF1B4402B2130
  606. 5DF22D6E20206523D6E2010856C7D178BF104B02DBBF1EFE0284E2070445434F
  607. 4D443839C2A2D6E2010350A132D6E20108784E20504265142535D6E20206523D
  608. 6E2010876C7D13CE224BAC1F88E1AFE22D9D20D6E20206523D6E2010876C7D18
  609. 4E2070445434F4D44383C2A20F00002393542303D6E20102576BA1D6E201087E
  610. 4A2051000FFF000000000000076BA1B0BC1803A2233A2C58C184E20402565253
  611. 576BA184E2030646225B21305DF22C423276BA1C423284E20304245338B9C1E4
  612. A2051000500001000000000076BA1B0BC1803A2C53A2C58C184E204025652535
  613. 84E20304245334563284E203042453397632EFE0276BA1DBBF176BA1C2A20F00
  614. 005443142303DBBF176BA14563284E203042453397632DCC02D6E202065233CE
  615. 224563284E20704234F4E4649474976324BAC1F88E1AFE22D9D204563284E203
  616. 042451397632C2A20F00000303030303B4402B21305DF22B21305BF22D9D2045
  617. 63284E203042451397632C2A209100003030303030303030303B4402B21305DF
  618. 2284E206042459445C4543CE228B9C1AFE22D9D2084E206042459445C45478BF
  619. 18B9C1E4A2051000001000000000000076BA1B0BC1803A2D13A2C58C184E2040
  620. 25652535DBBF184E2070445434F4D44383339201000000000000110339202000
  621. 000000000620C58C192CF176BA176BA1B21305BF22C2A209000003035DF22D6E
  622. 20102576BA184E203042451384E20304245233CE22D6E2010D4AFE22D9D2084E
  623. 208042D454353514745484E2070445434F4D44383B21305BF22C2A20500005DF
  624. 22EF53284E2030424533CF01276BA176BA176BA176BA178BF18B9C1E4A205100
  625. 0900001000000000076BA1B0BC1803A2C53A2C58C184E204025652535DBBF176
  626. BA178BF184E2030342534E4A2051000000010000000000076BA1B0BC1803A274
  627. 3A2C58C184E20402565253576BA1C2A20F00000343242303DBBF176BA184E205
  628. 01435D44383521A178BF18B9C16C7D1B51A178BF1A3212DCC0293632B2130236
  629. 105085C494243550D9D20E1632B96913392010000000000000205C5C19C2A25D
  630. 2C1E4A20510009D7070000000000084E2040055454B4E4A2051000FFF0000000
  631. 000000387E178BF13CE22E4A2051000D000000000000000D9AE1AFE22D9D20BB
  632. 6919C2A290DA1C53A2EEDA133920500000000467064078BF1E0CF176BA10A132
  633. D6E2020144478BF1D6E20201444B969184E2040055454B4E4A2051000FFF0000
  634. 000000000387E1279E1D6E202014443F2A276BA1B969184E2040055454B4E4A2
  635. 051000FFFFF00000000000387E1E4A205100000007000000000003CE22D5CE13
  636. 87E1AFE22D9D208DBF13392010000000000000205C5C1F85C1D6E202014443F2
  637. A276BA1B969184E2040055454B433920500000000000005045632D6E20201444
  638. 97632DCC029C2A2472C1B21305DF22C53A208332B21305BF228DBF15DF223CE2
  639. 29C2A2025C1AFE22D9D203392010000000000004605C5C133920100000000000
  640. 0210933A1B21305DF2278BF1ED2A290DA178BF184E2040055454B4E4A2051000
  641. FF00000000000000387E13CE22E4A20510000000000000000000D9AE1AFE22D9
  642. D2078BF184E2040055454B4E4A2051000FF00000000000000387E1ED2A2EEDA1
  643. ED2A276BA190DA1B21305DF2233920100000000000001090DA178BF184E20603
  644. 595352534C4B0BC1C2A2070000A076BA178BF1C2A2070000A34BAC12ABF19C2A
  645. 2DBBF1C58C1C2A2070000A076BA13F2A20DCF13F2A276BA13392020000000000
  646. 00010C58C176BA1C2A2070000A0DBBF176BA176BA192CF13F2A276BA178BF184
  647. E2040055454B43CE2278BF1E4A20510000000000000000000D9AE1AFE22D9D20
  648. 76BA1C2A2012000A085C4942402E416D65637020202DBBF176BA176BA1C2A207
  649. 0000A076BA1B21305BF223FBF15DF2292CF1C53A276BA178BF184E2040055454
  650. B43CE2278BF1E4A20510000000000000000000D9AE1AFE22D9D2076BA1C2A201
  651. 2000A042D45435351474540202020202DBBF176BA176BA1C2A2070000A076BA1
  652. B21305BF223FBF15DF2292CF133920100000000000081076BA178BF184E20400
  653. 55454B43CE2278BF1E4A20510000000000000000000D9AE1AFE22D9D2076BA1C
  654. 2A2012000A04234F4E4649474020202020202DBBF176BA176BA1C2A2070000A0
  655. 76BA1B21305BF223FBF15DF2292CF133920100000000000031076BA178BF184E
  656. 2040055454B43CE2278BF1E4A20510000000000000000000D9AE1AFE22D9D207
  657. 6BA1C2A2012000A085C494240205F696E647562702DBBF176BA176BA1C2A2070
  658. 000A076BA1DBBF133920100000000000031076BA178BF184E2040055454B476B
  659. A178BF133920100000000000001076BA1BB691E0CF147A20B21309C2A2339201
  660. 00000000000082030132C2A205000076BA1C423247A20C2A20F1000A0255616C
  661. 602E657D6265627A0C2A2052000A034F6D607C6568702E657D6265627A0C2A20
  662. 92000A03486162716364756270235472796E676A0C2A20F1000A0255616C6021
  663. 42727162797A0C2A2032000A034F6D607C65687021627271697A0C2A2011000A
  664. 0C4963747A0C2A20F1000A074C6F62616C602E616D656A0C2A20D1000A0C4F63
  665. 616C602E616D656A0C2A2071000A00527F6762716D6A0C2A20B1000A014C6765
  666. 62627169636A0C2A2052000A02496E61627970296E64756765627A0C2A207100
  667. 0A074271607869636A0C2A2051000A0451676765646A0C2A2011000A055E6964
  668. 7A0C2A20B1000A085C4942402E616D656A0C2A20B1000A0449627563647F6279
  669. 7A0C2A2071000A0C4962627162797A0C2A2051000A0241636B65707A0C2A2091
  670. 000A06457E6364796F6E6A0C2A2071000A034F6D6D616E646A0C2A2012000A03
  671. 586F62747022696E6162797A0C2A20B1000A0C4F6E67602275616C6A0C2A2012
  672. 000A0C4F6E6760236F6D607C65687A0C2A2032000A0C496E6B65646021627271
  673. 62797A0C2A20B1000A0348616271636475627A0C2A20D1000A0D4163686E2023
  674. 4F64656A0C2A2012000A0C49626271627970246164716A0C2A2091000A054874
  675. 75627E616C6A0B21301C432D6E201035D6E201084D6E2020C413D6E2020C423E
  676. 1632D6E20103592CF1D13A276BA184E2040055454B4E0CF176BA1BB6910A132D
  677. 6E201085C2A20D0000D2D2D2D29C2A2D6E201085D6E20103590DA1D13A250FA1
  678. B0BC1AE8C1D6E201085B969178BF184E2040055454B476BA1DBBF192CF1B0BC1
  679. 3F2A2743A2C58C176BA1D6E2020C413E0CF184E20603595352534C468BC19C2A
  680. 276BA13392010000000000008203ECB12ABF16C7D1803A25BCF176BA178BF18B
  681. 9C19C2A276BA13CE22339201000000000000220D4EB1AFE22C2A20B000002020
  682. 25BF22C2A2070000A05DF2276BA19C2A2387C1AE8C145632D6E2020C41397632
  683. DCC02D13A208332D6E2010849C2A23392010000000000008200A132D6E201085
  684. D6E2020C423D6E2010856C7D1D6E2020C413D6E2010856C7D178BF13CE228B9C
  685. 1AFE22D9D2078BF18B9C13CE22339201000000000000220D4EB1AFE22D9D20C2
  686. A2070000A076BA1B21305DF2276BA176BA1B21305BF223FBF15DF22C4232EF53
  687. 2B21305BF22D9D203FBF1DBBF18DBF1B21305DF223392010000000000004605C
  688. 5C193632B2130BCE0040052574D840D9D202BA812BF81F3040FA450FBD81B213
  689. 0F200040D805257440D9D20FBD8143C8154450B213052000406494E44440D9D2
  690. 09C2A276BA1EF5C13392010000000000000205C5C1DBBF1E4A20510000000000
  691. 000000000908E1DBBF15C5C1CCD2019000132120AFC12117414713416A1567AF
  692. 518015641C4143130169142130152780DF91052160BF4B4651F80CF0D40E910B
  693. DBF41605FE14313216914020121AFC120132142164808CB21303010040055454
  694. B440D9D20BB691B9691CCD20030001471370617914713715BF137159F0713714
  695. 2164808CB213055000603595352534C460D9D20300406B65044230B213092000
  696. 501435D4438350D9D20D29512BF81D0040D9D20881306365088130120404EC30
  697. 39916D9D2044230C2A20F2000542525F425A3A094E66716C696460235472796E
  698. 67684051B2130FD5502C230C1C1632230CCD20460008F14660CC8FB9760D8143
  699. 130174143131179AE214F8082103B6280821909EEB0808207B6215C0160171CD
  700. 5EC8D34150B9F06B2130B21309110070445434F4D4438370D9D20D2951881302
  701. 0950FD5502C230F6E30C1C1632230CCD20560008F14660CC8FB9760D81431301
  702. 69174143131AE215F08082103A6280821939EEC08082170A6214C161170CD5DC
  703. 8D34150B9F06B21303B0004044D454D440D9D2047A204B2A2339201000000000
  704. 0006303392010000000000004303392010000000000005303392010000000000
  705. 0052033920100000000000059033920100000000000058033920100000000000
  706. 0570339201000000000000560339201000000000000550339201000000000000
  707. 450339201000000000000350339201000000000000250B213047A20119200000
  708. 0119201000011920FFFFF1192001000119200FFFF11920001001192000FFF119
  709. 200001011920000FF1192000001119200000F11920070001192009FFFB21301C
  710. 432D6E2010C4D6E201025FD5501192024100C1C1684E204044D656D609BC1339
  711. 20100000000000001079B30A2170D9D2044230E4A20A00000010079E6084E204
  712. 044D656D672D7084E204044D656D6B21303C0323C032CCD202E0008FB9760143
  713. 818F091001301421011741431311793460000D53440000D711013017777601C1
  714. CF56F17B31A314D17134F0000D71841421307C30171CF56F31A014D171110130
  715. 142818F0F140CD5891101301111408D34150AE215E08082103A6280821939EEC
  716. 08082170A6214D160012C2309C2A2BA041DE032378A19B632D6E2010C4322304
  717. BAC19C2A217CB1D6E201025322306C7D1CCD20B20008F146608FB97601471371
  718. 79147C21458D34150DE0324B2A29B632B2130867F"
  719. END------------------------CUT HERE--------------------------
  720.  
  721. From en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!rex!wuarchive!sdd.hp.com!usc!elroy.jpl.nasa.gov!ncar!zaphod.mps.ohio-state.edu!ub!acsu.buffalo.edu 21 Feb 91 22:40:29 GMT
  722. Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!rex!wuarchive!sdd.hp.com!usc!elroy.jpl.nasa.gov!ncar!zaphod.mps.ohio-state.edu!ub!acsu.buffalo.edu
  723. From: cloos@acsu.buffalo.edu (James H. Cloos)
  724. Newsgroups: comp.sys.handhelds
  725. Subject: Tools as a LIB
  726. Keywords: HP48SX, hp48sx
  727. Message-ID: <61104@eerie.acsu.Buffalo.EDU>
  728. Date: 21 Feb 91 22:40:29 GMT
  729. Sender: news@acsu.Buffalo.EDU
  730. Organization: State University of New York @ Buffalo
  731. Lines: 248
  732. Nntp-Posting-Host: lictor.acsu.buffalo.edu
  733.  
  734. Someone earlier posted a request for the TOOLS routines in library form, as
  735. they did not have enough free RAM to compile it into a lib on their 48.  It
  736. struck me last night that I had the directory on the suns here in binary
  737. format, and usrlib was also here.  THe obvious conclusion was to post this
  738. article.
  739.  
  740. Below you will find the library in uuencoded format.  (I have not
  741. transfered it to my 48 yet, and bin2asc.c is not quite up yet, so this is
  742. as for as I can get it for now.)  Also included is the summary file output
  743. by usrlib; this lists each of the xlib's incluing name, number, and Hidden/
  744. Algebraic/etc. flags.  The summary file comes first; just pipe the whole
  745. article through uudecode & you'll get the file 'tools.lib' in your current
  746. directory.
  747.  
  748. =============+Start of tools.sum+===============
  749. Library Contents
  750.  
  751.  Addr       ROM WORD Type    Hid/Alg  User Name
  752.  
  753. 03C03 XLIB 1791    0 ::               DMEM
  754. 03B5B XLIB 1791    1 ::               DECOM48
  755. 03A49 XLIB 1791    2 ::               ASM48
  756. 03A29 XLIB 1791    3 ::               SYSRCL
  757. 039D9 XLIB 1791    4 ::               PEEK
  758. 038DB XLIB 1791    5 ::               FIND
  759. 038BB XLIB 1791    6 ::               
  760. 03891 XLIB 1791    7 ::               PRG
  761. 02A11 XLIB 1791    8 ::               XLIBS
  762. 01486 XLIB 1791    9 ::               
  763. 01385 XLIB 1791   10 ::               EXTRACT
  764. 0115E XLIB 1791   11 ::               AR
  765. 00F48 XLIB 1791   12 ::               S
  766. 00EA4 XLIB 1791   13 ::               POKE
  767. 00D49 XLIB 1791   14 ::               CRC
  768. 00CAB XLIB 1791   15 ::               RVRS
  769. 00C79 XLIB 1791   16 ::               DNL
  770. 0005A XLIB 1791   17 ::           H A DFL
  771. 00178 XLIB 1791   18 ::           H A F&R
  772. 00252 XLIB 1791   19 ::           H   XTRACT
  773.  
  774.  
  775. LIBRARY 1791, "TOOLS System Utilities":  8433.5 bytes
  776.  
  777. Configure:  $CONFIG
  778.  
  779. ===========+End of tools.sum+==================
  780.  
  781. ===========+Start of tools.uue+================
  782. begin 644 tools.lib
  783. M2%!(4#0X+41 *^ =!!943T],4R!3>7-T96T@571I;&ET:65S%O]V_P,  /#W
  784. M QD   #_%@&=+>!A(\$TTN8" 4@>-I(L*FTN$("$FQR@,=+F @%3A_O1Y@(!
  785. M2&TN$# U["+&UT&K'/HNTMD"A_N1+"HI_-'F @%(;2X0,&5\';3*D2PJ":W!
  786. MA1R]^W&X'VTN$(#4Y@(!4\;70:L<R:)RMAHS*3         0P(4<9ZNQ$@/5
  787. M+\(D(_XUDF,C*S$  /\F 9TMX&$CP332Y@(!<VTN$"#G82,S,'*X'VTN$#!'
  788. MJQR'^]$%(YTM(+H?R:*2T!K)HM*['US(T>8" 7)GJS$O*M#\T>8" 7.XR7&V
  789. M&C,I<        %# A1QGJ[$2 Y0V@KT?_C628R,K,8#_-@&=+>!A(X?[D2PJ
  790. MQM<Q["*&RS&3 @$      $ !<NFA[R*=+9 L*L;7(>D"_Q8 +"IP   C*?P1
  791. M-RHS*1         1P(4<DB[P;P]PMAI[S[%K&2PJ<   (P[\(3,J7*/"A1R2
  792. M+O!O#W"V&GO/L1(#M2_2V0)[SX&]'YN6L1(#U2^2+"K5PN&D A4 D'UP    
  793. M   @Z0+_1@!.*E ! /\/        @^=QN!_#+N*D A4 T         #0J1[Z
  794. M+M+9 KN6D2PJ":W!-2KNK3&3 @4   ! =F $A_OAP!]GJP$:(VTN(!!$=+@?
  795. M;2X@$$2T:1F2+O!O!."D A4 \/\        P>!YRZ='F @)!1/.B<K8:FY8A
  796. MZ0+_1@!.*E !    !P      PR[2Q1Z#YZ'O(ITMT.8" D%$\Z)RMAJ;EB'I
  797. M O]& /.B<K8:,RE0        4$!E(VTN(!!$E&<CS0R2+"ITPK$2 ]4OPC4J
  798. M@#.R$@.U+X*]']4OTG@CG2V0+"H@Q8%Z(YTM,)," 0      0 ;%Q3&3 @$ 
  799. M     " !.:.Q$@/5+W*X'Y(N\&\$D,(?9ZO1,2IGJW&X'Y(N\&\$D,(?9ZO1
  800. MNQ\S*1        "%<+8:A_LAZ0+_1@!GJ]$Q*IK\T3$J[JUQMAJ]^Y'"'_SL
  801. MT;L?A_LAZ0+_1@ )K=&['RG\(>D"_T8 3BI0 0#_         (/GX:0"%0  
  802. M         ""7'@GH,2\JFOPAZ0+_1@!.*E !            <NF1@!ZH-]+9
  803. M MC[P:(""0!PPN3 '[N6<;8:+"IP   N9ZLQ+RJ:_'&V&GO/,2\JT/RQ$@/5
  804. M+\*B @\ @$-3) .3PA^2+O!O!."D A4 \ \        P>!Z[EN$M*NZM02LJ
  805. MO?L!&B-M+A PE<(?;2X0,'6V&I(N\&\$X*0"%0#P#P       #!X'DXJ4 $ 
  806. M  $       !GJ[&P' BCTC$J7,@AZ0+_]@!GJ^$M*H S(ND"_R8 ':,"S1\.
  807. M_#&_'RLQ4/TB,RD0        $'"V&H?[(>D"_T8 9ZO1,2IGJW&X'Y(N\&\$
  808. M,)," 0        $)K=$Q*@6O,2\JFOPQ["*;EN&['OHNTMD"\_LQDP(!    
  809. M  ! !L7%@3 J.:.Q$@/5+](Q*F>KT;L?':/BWAIGJW&X'Y(N\&\$<+8:2"Y0
  810. M@.44UE8V+RJ:_#'L(K3*H>\BV/M1^R*=+9#"'U0V@N0"!5A.86UE>3:R1""'
  811. M^R'I O]& ,,NXJ0"%0# W (      ""7'OHN(ND"_S8 M2_2V0*2+O!O R#I
  812. M O\6 ,$TTN8" 4YM+A  Y6$C,S#2Y@(!4"PJ\   ,CE%,C"TRM$%(YTMT.8"
  813. M 5"'^\&B @\ ()-3) -#JQRB^\$U*F>K<;@?WJ)RMAI<R"'I O_V "PJ<   
  814. M([W[<;8:>\^Q:QGSH@+-'QVC<K8:A_OA+2IGJ\&%')(N\&\/P*("!P PTKL?
  815. M9ZNQ]QR[EN$M*H/'(>D"_S8!DB[P;P&0+"HI_(&;'%S(T>8" 5 L*O   #(Y
  816. M13(PM,K1Y@(!4,FB,B\JFOR1+"H)K<&%' [\<;8:;2X0 .7 'S,I$       
  817. M !%PMAIM+A  A9L<7,AQMAI4-M+F @%0>3;2S" K,4!I(VTN$.#4Y@(!4)(N
  818. M\&\"X%\C*S%0_2(I_-',("LQ4/TB.3:R$@/X;Q#0V0(L*G    HL*E   )(N
  819. M\&\2L!(#^&\/T-D"+5DA^Q@-0-#9 H@Q<&4&1R=F8P7,+6 % /A!9H"_>09#
  820. M 0" JS*-0=/)QAH#81='01,3<<D=Y$$=&''!7?'80U% ) ,K,; 2 _AO#M#9
  821. M BU9(?L8#4#0V0*(,6!C!8@QD/\#Y#PPF6&=+4 D RPJ\ ( 15)23U(Z"DEN
  822. M=F%L:60@4W1R:6YG2%"Q$@-.*J      <&4&K _&W *H ( ?9 ;,^)MGT!@T
  823. M,1"6<10T,1&7#4$Z ;.F$PGIBC!P:WH_,/0  . O?4.!$-# 3PBLAO]!]Q94
  824. M)P%!$1;<M8H]% 4!\!QTX&\A\ [^$@'@[Q!$,K 2 RLQ@/_6 )TMT+L?*?SA
  825. MI (5            ,'@>">C1NQ_,+; % #$2,$$31T$71S$41D$68X$58P@-
  826. M811EX1<#81DD,1!%$3$Q$B1^ F&$@ PK,8#_Q@"=+>!A(X?[8;@<':,BEQ[#
  827. M+I+"'[C),7@>^B[2V0(S*1        !D4%P<C\413"-M+A# Y&$C+"J0 0!#
  828. M,D$R,#$P,# P;2X0P(2;'$XJ4 $    0      !GJ[&P' BCPC4J7,@AZ0+_
  829. M]@!GJY$L*FTN$,"$FQR@,=+F @%3;2X0P-3F @%3QM>QL!R2+O!O 2 S*BG\
  830. M@9L<7,AQMAI,,G*X'[C)T3$J9ZOAI (5      $     <+8:"\N!,"I<H\*%
  831. M')(N\&\/T+L?9ZO!H@(/ (!3E",#T[L?9ZLAZ0+_)@#^-;(2 [4OTMD"3BI0
  832. M 0 " @       #FCL1(#U2^28R,K,8#_M@"=+>!A(X?[(>D"_Q8 ,RD0    
  833. M    $3"3 @$      % !7,C!H@(/ # D$R0#,^PB8>>1PA^&RX$P*G+I,7@>
  834. M^B[2V0(S*1        !D4%P<C\4AZ0+_%@ S*1         FD,(?N,G!A1S!
  835. M--+F @%3'C9"IP(K,3 #(VTN$#"%FQQ=,-+9 BPJ\   0S)!,C!M+A PE2PJ
  836. M+"IP   C;2X0,)4L*AVCPH4<DB[P;P]PMAI[S[%K&6TN$#"5PA_)HG*V&FTN
  837. M$#"%FQQ<R$%E(VTN$#"59R/-#,*%'&>K(>D"_R8 9ZNQ$@.4-N)?(RLQ4/LB
  838. MG2W@I (5 " @        D#,:*S%0_2(Y-K(2 _AO"M#9 AXV\E@<,RD0    
  839. M    (%!<'%0V@N0"!E1-4$1)4GDV<K@?PRZ"XAPS*1         5T*D>^B[2
  840. MV0*'^U$0&KZC0:<"*S% 92-(+E" Y1365I9G(\T,LA(#M2_B.QK5+R+I O\V
  841. M 3,I$        &107!Q;H9%C(RLQ@/^6 )TMX&$C,RD0        9%!<'+2B
  842. M0BLJM*)"*RIT*H#D @8D4D]-241(+F! 0I5$Q52$Y (()$U%4U-!1T5(+E! 
  843. M8A4D-87D @@D5DE324),14@N<$""E$1$5.2$Y (#)%0Q2"XP0$(E@^0" R14
  844. M,RLQ$$PC;2X0,-7F @%2;2X0T-3F @)6,6TN(& EXV$CE*&1PA^TRO&('BG\
  845. M@>(<PRXRDP(!      !0 9WJD8 >^B[2V0).*E !  ("        .:.Q$@/5
  846. M+_)8'(?[X3L:E*%!92-(+F! (O74E$249R/#+D*K'/HNTMD"2"Y@0"+UU)1$
  847. MY*0"%0    $      '"V&@O+@3 J,J/"A1R2+O!O#T!E(VTN$""59R/-#+(2
  848. M [4OTMD"+"HP P!%4E)/4CH*)R123TU)1"<@36ES<VEN9SFCL1(#U2]"&1K#
  849. M+D)E(T@N8$!"E43%5)1G([3*H>\BV/M1^R*=+;"P'-ZBDL(?N,F1+"H)K<&%
  850. M'%0V@N0"!B14251,17DVTLP@*S%0_2*4H=%X(YTM0&4C2"YP0(*41$14Y)1G
  851. M([3*@7HCG2U &1IM+B!@)8/D @<D2$E$1$5.9ZNQ$@/5+T(9&E0V@N0"""16
  852. M25-)0DQ%>39"JQRH-]+9 D@N@$!BE325),14U.8" E8R*S%0_2*4H='F @)6
  853. M,BLQ4/TBDB[P;Q%PN!]4-M+F @)6,7DVTLP@PRZ"FQSZ+M+9 FTN(& 5D_T@
  854. MR:(RDP(!      !@ 0,QPJ("!0# )",S*1         6,'@<R:+2Y@("5C&X
  855. MR0$:(VTN$(#5Y@("5C%M+A" 97P=DB[P;P'@I (5 /#_        T.8" 5AG
  856. MJ[&P' BC(C,J7,@AZ0+_]@!GJR$S*C,I$        %# A1PL*G   ",I_)$L
  857. M*MZBPH4<DB[P;P]PMAI[S[%K&<,N,I," 0      8 $I_.&['BG\\8@>">BA
  858. M[R*=+;#.'RPJ, $ 15)23U(Z(&TN(& 5T^8" 5C&UW&V&BPJ, , "C$@+2 Q
  859. M-B!C:&%R86-T97)S(&]N;'EGJY$S&BLQ4/TB\Z*BR1\I_&%\'0[\<;8:R:(R
  860. M>!SJR,$D(U0V@N0" R14,GDVTLP@+"I0  "'^T%E(T@N,$!"%9-G(\T,DBPJ
  861. M,RD0        %@ :(VTN$("%Y (#)%0R;2X0@&5\'<,N@IL<^B[2V0).*E !
  862. M %4 $       ;2X0@)4L*@FMT3$J[JV1T!HI_(&;'&>KL; <"*/"-2I<R"'I
  863. M O_V %0V@N0" R14,7DVTKL?2P2"Y (#)%0R;2X0@&5\'6>KL1(#M2_2V0)4
  864. M-H+D @,D5#%Y-L*B @\   ,# P.S1" K,5#](DPR0F4C2"XP0$(5DV<C*?R!
  865. MFQQ.*E !  4 $       9ZNQL!P(H\(U*ES((>D"__8 2P22+"IM+B!@%8.;
  866. M'* QTN8" 5B'^]'F @)6,6TN$(!E?!V2+O!O 2 S*C,I$        %# A1RT
  867. MRI'"'[C)T;L?":WAI (5 !    $     <+8:"\N!,"I<H\*%')(N\&\/<+8:
  868. M3#*"Y (#)%0QO?MQMAHL*O   $4T03(P*?R!FQQ.*E !  4 $       9ZNQ
  869. ML!P(H\(U*ES((>D"__8 9ZO1NQ]GJT%E(T@N,$!")9-G(\T,PJ("#P! $P,#
  870. M [,2 [4OTMD"+"I0  !4-H+D @,D5#)Y-M+,("PJ\   ,# P,# K,5#](I2A
  871. M064C2"Z 0-)4-#45=%249R/#+D*K'/HNTMD"2"Z 0-)4-#45=%0DZ0+_%@"X
  872. MR4%E(VTN$-"49R/-#(+D @,D5#*XR>&D A4 \    0    !PMAH+RX$P*ERC
  873. MPH4<DB[P;P^P$@.U+\*B @\   ,# P-3_2)GJT%E(T@N,$!"%9-G(\T,PJ("
  874. M!0! 92-(+C! 0C639R/-#$(9&FTN(& E(^D"_Q8!A_M!92-M+B!@)9-G(\T,
  875. M@IL<PRY"92-M+A PE6<CS0S2Y@(!4_HNTMD"E*%!92-(+E! 8A4D-95G(\,N
  876. M0JL<C^BA[R*=+4"G BLQ0&4C2"Y00&(5)#659R/-#+(2 ]4O0F4C2"XP0$(5
  877. MDV<C2"XP0$(E@YL<;2X0T'2V&DXJ4 $ "@ 0      !GJ[&P' BCPC4J7,@A
  878. MZ0+_]@!+!,*B @4 D"PJ;2X0, 4:(VTN$(#5Y@("5C%M+B!@)=/F @%8QM<Q
  879. M["*TRJ'O(ITMP*("50!0%&,S(R-49"0C(U1D)"-#9%,D U,48S,C$S-$,R,3
  880. M,T0S(T-D4R0#T^8" E8R;2X0@&5\'4 +(ND"_Q8 ,J,RDP(!      !0 5S(
  881. M,>PBM,JA[R(L*K   # P,+4OPJ("!P" 4_TB9ZO1Y@(!4F>KT>8" 5A.*E !
  882. M /\/        9ZNQL!P(HR(S*ES((>D"__8 9ZNQ$@/5+]+F @%3;2X0@)4L
  883. M*@FMD= :':/BWAHI_(&;'&>KX:0"%0     !     '"V&@O+@3 J7*/"A1R2
  884. M+O!O#T!E(T@N,$!"-9-G([W[L40@;2X@8"73Y@(!6,;7,>PB5#:"Y (')$-/
  885. M3D9)1WDV$G8>^B[2V0)(+C! 0B6#FQQM+A#0=+8:;2X0,-4Q*NZM<;8:*?R!
  886. MFQQGJ^&D A4 \    0    !PMAH+RX$P*ERCPH4<DB[P;P] 92-(+C! 0A63
  887. M9R.]^[%$("LQ4/TB;2X@8"73Y@(!6,;7<;@?0 O2NQ_^#B+I O\6 ,FBTN8"
  888. M 5.@,=+F @%X2"Y00&(5)#75Y@("5C)M+A" 9WP=PRY"JQR/Z*'O(ITMT.8"
  889. M E8R;2X0@&=\'9(N\&\!P*("#P @DU,D ]/F @%29ZO1Y@(!>$XJ4 $ _P\ 
  890. M      !GJ[&P' BC(C,J7,@AZ0+_]@!GJR'I O\F 2LQ4/TB3#)RMAI,,H+D
  891. M @,D5#.XR>&D A4 4    0    !PMAH+RX$P*ERCPH4<DB[P;P^ Y (#)%0S
  892. M5#:"Y (#)%0S>3;B[R!GJ]&['V>KP:("#P!01!,D ].['V>K064C2"XP0$(U
  893. MDV<CS0S2Y@("5C+#+D)E(T@N<$ R].1DE'249R.TRO&('OHNTMD"5#:"Y (#
  894. M)%0Q>3;"H@(/   # P,#LT0@*S%0_2(K,5#[(ITM0&4C2"XP0$(5DV<C+"J0
  895. M 0 P,# P,# P,# P2P2R$@/5+X+D @8D5$E43$7#+H*;'/HNTMD"2"Y@0$*5
  896. M1,54=+@?N,GAI (5   0        <+8:"\N!,"H=H\*%')(N\&\/T+L?DB[P
  897. M;P$PDP(!       0 3,I(        "; A1PI_'&V&F>KL1(#M2_"H@()   #
  898. M4_TB;2X0('6V&D@N,$!"%8/D @,D5#+#+M+F @%-^B[2V0)(+H! TE0T-15T
  899. M5"3I O\6 "LQ4/LB+"I0  #5+^)?(T@N,$!"-<,/(6>K<;8:9ZMQMAJ'^X&;
  900. M'$XJ4 $ "0 0      !GJ[&P' BCPC4J7,@AZ0+_]@"]^W&V&H?[(>D"_^8 
  901. M3BI0 0    $      &>KL; <"*-R-"I<R"'I O_V &>KP:("#P  0R,D ].[
  902. M'V>K(>D"_R8 ):%QN!^XR6%\'5NA<;@?.A+2S" Y-K(2 _AO"-#9 AXVLFD9
  903. M,RD0        (%!<',FB4BT<3BI0 0#9!P<      )(N\&\$X*0"%0#P_P  
  904. M     #!X'H?[,>PB3BI0 0 -         )WJH>\BG2VP:QG)HI+0&ERCXMX:
  905. M,RE0     &0'1G"X'P[\<;8:H#'2Y@("042'^]'F @)!1)N6(>D"_T8 3BI0
  906. M 0#_#P       (/G(9<>;2X@$$0T+RIGJ[%I&9(N\&\$X*0"%0#P__\     
  907. M #!X'DXJ4 $    '      ##+M+%'H/GH>\BG2V O1\S*1         @4%P<
  908. MC\71Y@("043SHG*V&IN6(>D"_T8 ,RE0        4$!E(VTN(!!$E&<CS0R2
  909. M+"ITPK$2 ]4OPC4J@#.R$@.U+X*]']4O,NPBR:("4ASZ+M+9 C,I$       
  910. M &107!PS*1         2D#,:*S%0_2*'^^$M*@FM<;@?DB[P;P3@I (5 / /
  911. M        ,'@>PR[BI (5            T*D>^B[2V0*'^R'I O]& $XJ4 $ 
  912. M_P        "#Y^$M*NZMX2TJ9ZN1T!HK,5#](C,I$        !"0T!J'^R'I
  913. M O\V  O+P:("!P"@<+8:A_O!H@(' *!#JQRB^Y$L*KW[P84<+"IP   *9ZLQ
  914. M+RK0_#$O*F>K,9," @        %<R'&V&BPJ<   "KW[<;8:9ZN1PA_SHG*V
  915. M&H?[(>D"_T8 PRYRN!].*E !            G>JA[R*=+7"V&BPJ$ ( "EA,
  916. M24(@3F%M97,@(""]^W&V&F>KP:("!P"@<+8:*S%0^R+S^U'](BG\P34J9ZMQ
  917. MN!^2+O!O!##L(H?[X:0"%0           -"I'OHNTMD"9ZO!H@(A *! TE0T
  918. M-15T5 0" @("TKL?9ZMQMAHL*G    IGJ[$2 [4O,K\?U2^2PA\S*1      
  919. M   8<+8:A_LAZ0+_1@##+G*X'TXJ4 $           "=ZJ'O(ITM<+8:+"H0
  920. M @ *)$-/3D9)1R @(" @(+W[<;8:9ZO!H@(' *!PMAHK,5#[(O/[4?TB*?PQ
  921. MDP(!       P 6>K<;@?DB[P;P0P["*'^^&D A4           #0J1[Z+M+9
  922. M F>KP:("(0"@@,64) 0"]9;F1E<F!]*['V>K<;8:+"IP   *9ZO1NQ\S*1  
  923. M       3<+8:A_LAZ0+_1@!GJW&X'S,I$        !!PMAJ[EN' 'W0JL!(#
  924. MR:(RDP(!      "  @,QPJ("!0!PMAI,,D*G BPJ\ $ "E)E86P@;G5M8F5R
  925. M"BPJ4 ( "D-O;7!L97@@;G5M8F5R"BPJD ( "D-H87)A8W1E<B!3=')I;F<*
  926. M+"KP 0 *4F5A;"!!<G)A<GD*+"HP @ *0V]M<&QE>"!A<G)A>0HL*A !  I,
  927. M:7-T"BPJ\ $ "D=L;V)A;"!N86UE"BPJT $ "DQO8V%L(&YA;64*+"IP 0 *
  928. M4')O9W)A;0HL*K !  I!;&=E8G)A:6,*+"I0 @ *0FEN87)Y(&EN=&5G97(*
  929. M+"IP 0 *1W)A<&AI8PHL*E !  I486=G960*+"H0 0 *56YI= HL*K !  I8
  930. M3$E"(&YA;64*+"JP 0 *1&ER96-T;W)Y"BPJ< $ "DQI8G)A<GD*+"I0 0 *
  931. M0F%C:W5P"BPJD $ "D9U;F-T:6]N"BPJ< $ "D-O;6UA;F0*+"H0 @ *4VAO
  932. M<G0@8FEN87)Y"BPJL $ "DQO;F<@<F5A; HL*A "  I,;VYG(&-O;7!L97@*
  933. M+"HP @ *3&EN:V5D(&%R<F%R>0HL*K !  I#:&%R86-T97(*+"K0 0 *36%C
  934. M:"X@0V]D90HL*A "  I,:6)R87)Y(&1A=&$*+"J0 0 *17AT97)N86P**S$0
  935. M3"-M+A PU>8" 4AM+B# %-/F @),,AXVTN8" 5,I_-$Q*F>K(>D"_T8 #OQQ
  936. MMAJ[E@$:(VTN$(#%H@(- -#2TM*2+"IM+A" U>8" 5,)K=$Q*@6OL; <ZLC1
  937. MY@(!6)N6<;@?DB[P;P1PMAJ]^Y'"'PO+,2\J1Z/"A1QGJ]'F @),,0[\(>D"
  938. M_S8 ALN1+"IGJS&3 @$      ( "X[PANA_&UX$P*K7\<;8:A_N!FQS)HG*V
  939. M&L,N,I," 0      ( )-OJ'O(BPJL   (" @M2_"H@(' *!0_2)GJY$L*H/'
  940. MH8X<5#;2Y@("3#%Y-M+,(!VC C@C;2X0@)0L*C,I$        "@ &B-M+A" 
  941. MU>8" DPR;2X0@&5\'6TN(, 4T^8" 5C&UW&X'\,N@IL<^B[2V0*'^X&;',,N
  942. M,I," 0      ( )-OJ'O(ITMP*("!P"@<+8:*S%0_2)GJW&V&BLQ4/LB\_M1
  943. M_2),,N)?(RLQ4/LBG2TPOQ^]^X&]'RLQ4/TB,RD0        9%!<'#DVLA(#
  944. M^&\'T-D"LHHA^Q@_0/!*!;^-L1(#^&\&T-D"OXU!PQA%5+ 2 _AO!=#9 LFB
  945. M<K8:_L4QDP(!         L7%T;L?3BI0 0            GHT;L?Q<7!W *1
  946. M ! C(:#/(1%'01=#81IEIU^!$&443$$3 V$9)#$0)8?0GP$E8;!/2U;Q"/S0
  947. M!)X!V_L4!O4>-#$2ED$@$!+Z' (Q$B1AA("\$@/X;P30V0*[EK%I&<PM  , 
  948. M01=S8'$9=#$7M1]S4?EP,1<D882 O!(#^&\#T-D" T!@:P5$,K 2 _AO M#9
  949. M BU9(?L8#4#0V0*(,6!C!8@Q$ ($Y#PPF6&=+4 D RPJ\ ( 15)23U(Z"DEN
  950. M=F%L:60@4W1R:6YG2%"Q$@/?52 L QP<-B(#S"U !@#X06; C+]Y!HU!$P-Q
  951. M%#0Q$9?J$O0(* &S)@@HD9#N"P@H<&L2Q1 &<<%=SMA#4;#Y8"LQL!(#^&\!
  952. MT-D"+5F!& ,"6?!=!<(R\.8#'!PV(@/,+5 & /A!9L",OWD&C4$3 V$91T$3
  953. M$^H2]8" $C!J@H 2.>G.@( 2!VH2Q&$1!]S5C#T4!9L/MA(#^&\ T-D"="I 
  954. M*RHS*1         V,)," 0      0 ,S*1         U,)," 0      4 (S
  955. M*1        "5,)," 0      4 @S*1        !U,)," 0      4 8S*1  
  956. M      !5,)," 0      0 4S*1        !3,)," 0      ( 4K,4"G A$I
  957. M    $2D0   1*?#__Q$I  $ $2D __\1*0 0 !$I /#_$2D   $1*0  _Q$I
  958. M   0$2D  / 1*0 ' !$I /G_*S$03"-M+A# U.8" 5+?51"1 D(!P,%A2"Y 
  959. M0-16U@:Y'#,I$        !!PN0,J<=#9 D0RX*0""@  $ "7;H#D @1$;65M
  960. M)WV Y ($1&UE;2LQ, PCPS#"W +B ("_>09!@X$/&0 Q$"0!$4=!$Q-Q.60 
  961. M %U#! #0%P$Q$'=W!L'!7_9Q.Z$3U'$Q]   ?8$4)#%P/! 7_&4_H1#4<1$!
  962. M,1 D&/CP0<!=F!$0 Q$1!-A#4: N40X(* &C)@@HD9/N# @H<: F01T&$,(R
  963. MD"PJJT#1#B-SJ)%K(VTN$, T(@.TRI$L*G&\T>8" 5(C,F!\'<PML ( ^$%F
  964. M@+]Y!D$7<W$9="Q!A3T4!>TP0BLJN3:R$@-.*I & #/\;[C_;_JOI/_U^2^/
  965. M_\WX[XG_&>J?2/V#TW\5_3S//^G\,\T/R?Q9S%\#_$[!/R+\3BI@&@      
  966. M $L P 4 OP" #0#U                                _  P,"0UY  #
  967. M1$Y,$$! U%34!  $4$5%2P1 8)3D1%0 !(U04D<&0  E==1X  2-3$E""4  
  968. M];14U  $4E924P]0$#351(,C  583$E"4PA@,)4U)37$-  &05*-4U12"W! 
  969. M5#3TU$2#$P '15A44D%#5 IP,-48)"45E,4 X0#@ P"# * & .@   X V   
  970. ;#0"2 - , %@ $ @ 3P! #0 ] 1 - #P!D%X!
  971.  
  972. end
  973. ===========+End of tools.uue+=================
  974.  
  975. Enjoy,
  976.  
  977. -JimC
  978. --
  979. James H. Cloos, Jr.        Phone:  +1 716 673-1250
  980. cloos@ACSU.Buffalo.EDU        Snail:  PersonalZipCode:  14048-0772, USA
  981. cloos@ub.UUCP            Quote:  <>
  982.  
  983.